<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<head>
    <title>Luat开源项目脚本lib</title>
    <link rel="stylesheet" href="../ldoc.css" type="text/css" />
</head>
<body>

<div id="container">

<div id="product">
	<div id="product_logo"></div>
	<div id="product_name"><big><b></b></big></div>
	<div id="product_description"></div>
</div> <!-- id="product" -->


<div id="main">


<!-- Menu -->

<div id="navigation">
<br/>
<h1>script_LuaTask lib</h1>

<ul>
  <li><a href="../index.html">Index</a></li>
</ul>

<h2>Contents</h2>
<ul>
<li><a href="#Functions">Functions</a></li>
</ul>


<h2>Modules</h2>
<ul class="nowrap">
  <li><a href="../modules/aLiYun.html">aLiYun</a></li>
  <li><a href="../modules/aLiYunOta.html">aLiYunOta</a></li>
  <li><a href="../modules/agps.html">agps</a></li>
  <li><a href="../modules/agpsHxxt.html">agpsHxxt</a></li>
  <li><a href="../modules/agpsZkw.html">agpsZkw</a></li>
  <li><a href="../modules/audio.html">audio</a></li>
  <li><a href="../modules/cc.html">cc</a></li>
  <li><a href="../modules/clib.html">clib</a></li>
  <li><a href="../modules/common.html">common</a></li>
  <li><a href="../modules/console.html">console</a></li>
  <li><strong>errDump</strong></li>
  <li><a href="../modules/ftp.html">ftp</a></li>
  <li><a href="../modules/gps.html">gps</a></li>
  <li><a href="../modules/gpsHxxt.html">gpsHxxt</a></li>
  <li><a href="../modules/gpsZkw.html">gpsZkw</a></li>
  <li><a href="../modules/http.html">http</a></li>
  <li><a href="../modules/lbsLoc.html">lbsLoc</a></li>
  <li><a href="../modules/led.html">led</a></li>
  <li><a href="../modules/link.html">link</a></li>
  <li><a href="../modules/log.html">log</a></li>
  <li><a href="../modules/misc.html">misc</a></li>
  <li><a href="../modules/mqtt.html">mqtt</a></li>
  <li><a href="../modules/net.html">net</a></li>
  <li><a href="../modules/netLed.html">netLed</a></li>
  <li><a href="../modules/ntp.html">ntp</a></li>
  <li><a href="../modules/nvm.html">nvm</a></li>
  <li><a href="../modules/patch.html">patch</a></li>
  <li><a href="../modules/pb.html">pb</a></li>
  <li><a href="../modules/pins.html">pins</a></li>
  <li><a href="../modules/pm.html">pm</a></li>
  <li><a href="../modules/powerKey.html">powerKey</a></li>
  <li><a href="../modules/record.html">record</a></li>
  <li><a href="../modules/ril.html">ril</a></li>
  <li><a href="../modules/scanCode.html">scanCode</a></li>
  <li><a href="../modules/sim.html">sim</a></li>
  <li><a href="../modules/sms.html">sms</a></li>
  <li><a href="../modules/socket.html">socket</a></li>
  <li><a href="../modules/sys.html">sys</a></li>
  <li><a href="../modules/uiWin.html">uiWin</a></li>
  <li><a href="../modules/update.html">update</a></li>
  <li><a href="../modules/utils.html">utils</a></li>
  <li><a href="../modules/websocket.html">websocket</a></li>
  <li><a href="../modules/wifiScan.html">wifiScan</a></li>
</ul>

</div>

<div id="content">

<h1>Module <code>errDump</code></h1>
<p>模块功能：系统错误日志管理(强烈建议用户开启此模块的“错误日志上报调试服务器”功能).</p>
<pre>
<p>
 错误日志包括四种：
 1、系统主任务运行时的错误日志
    此类错误会导致软件重启，错误日志保存在/luaerrinfo.txt文件中
 2、调用sys.taskInit创建的协程运行过程中的错误日志
    此类错误会终止当前协程的运行，但是不会导致软件重启，错误日志保存在/lib_err.txt中
 3、调用errDump.appendErr或者sys.restart接口保存的错误日志
    此类错误日志保存在/lib_err.txt中
 4、调用errDump.setNetworkLog接口打开网络异常日志功能后，会自动保存最近几种网络异常日志
    错误日志保存在/lib_network_err.txt中
 5、底层固件的死机信息
<p> 其中2和3保存的错误日志，最多支持5K字节
 每次上报错误日志给调试服务器之后，会清空已保存的日志</p>
</pre>
    <h3>Info:</h3>
    <ul>
        <li><strong>Copyright</strong>: openLuat</li>
        <li><strong>Release</strong>: 2017.09.26</li>
        <li><strong>License</strong>: MIT</li>
        <li><strong>Author</strong>: openLuat</li>
    </ul>


<h2><a href="#Functions">Functions</a></h2>
<table class="function_list">
	<tr>
	<td class="name" nowrap><a href="#appendErr">
    appendErr (s)
    </a></td>
	<td class="summary">追加错误信息到LIB_ERR_FILE文件中（文件最多允许存储5K字节的数据）</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#setNetworkLog">
    setNetworkLog (<strong  style="color: gray;">[flag=nil]</strong>)
    </a></td>
	<td class="summary">配置网络错误日志开关</td>
	</tr>
	<tr>
	<td class="name" nowrap><a href="#request">
    request (addr<strong  style="color: gray;">[, period=600000]</strong>)
    </a></td>
	<td class="summary">配置调试服务器地址，启动错误信息上报给调试服务器的功能，上报成功后，会清除错误信息</td>
	</tr>
</table>

<br/>
<br/>


    <h2 class="section-header "><a name="Functions"></a>Functions</h2>

    <dl class="function">
    <dt>
    <a name = "appendErr"></a>
    <strong  style="color: red;">
    appendErr (s)
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">追加错误信息到LIB_ERR_FILE文件中（文件最多允许存储5K字节的数据）</pre>


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">s</span>
            <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
        <pre class="example">用户自定义的错误信息，errDump功能模块会对此错误信息做如下处理：
 1、重启后会通过Luat下载调试工具输出，在trace中搜索errDump.libErr，可以搜索到错误信息
 2、如果用户调用errDump.request接口设置了错误信息要上报的调试服务器地址和端口，则每次重启会自动上报错误信息到调试服务器
 3、如果用户调用errDump.request接口设置了定时上报，则定时上报时会上报错误信息到调试服务器
 其中第2和第3种情况，上报成功后，会自动清除错误信息</pre>
        </li>
    </ul>

    <h3>Returns:</h3>
    <ul>
        <li>
        <pre class="example">bool result，true表示成功，false或者nil表示失败</pre></il>
    </ul>



    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">errDump.appendErr(<span class="string">"net working timeout!"</span>)</pre></il>
    </ul>

</dd>
    <dt>
    <a name = "setNetworkLog"></a>
    <strong  style="color: red;">
    setNetworkLog (<strong  style="color: green;">[flag=nil]</strong>)
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">配置网络错误日志开关</pre>


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">flag</span>
            <span class="types"><span class="type">bool</span></span>
         [<em>此参数可选，默认值为：</em> nil]
        <pre class="example">是否打开网络错误日志开关，true为打开，false或者nil为关闭</pre>
        </li>
    </ul>




    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">errDump.setNetworkLog(<span class="keyword">true</span>)</pre></il>
    </ul>

</dd>
    <dt>
    <a name = "request"></a>
    <strong  style="color: red;">
    request (addr<strong  style="color: green;">[, period=600000]</strong>)
    </strong>
    </dt>
    <dd>
    <pre class="example"  style="color: red;">配置调试服务器地址，启动错误信息上报给调试服务器的功能，上报成功后，会清除错误信息</pre>


    <h3>Parameters:</h3>
    <ul>
        <li><span class="parameter">addr</span>
            <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span>
        <pre class="example">调试服务器地址信息，支持http，udp，tcp
 1、如果调试服务器使用http协议，终端将采用POST命令，把错误信息上报到addr指定的URL中，addr的格式如下
   (除protocol和hostname外，其余字段可选；目前的实现不支持hash)
   |------------------------------------------------------------------------------|
   | protocol |||   auth    |      host       |           path            | hash  |
   |----------|||-----------|-----------------|---------------------------|-------|
   |          |||           | hostname | port | pathname |     search     |       |
   |          |||           |----------|------|----------|----------------|       |
   "   http   :// user:pass @ host.com : 8080   /p/a/t/h ?  query=string  # hash  "
   |          |||           |          |      |          |                |       |
   |------------------------------------------------------------------------------|
 2、如果调试服务器使用udp协议，终端将错误信息，直接上报给调试服务器，调试服务器收到信息后，要回复大写的OK；addr格式如下：
   |----------|||----------|------|
   | protocol ||| hostname | port |
   |          |||----------|------|
   "   udp    :// host.com : 8081 |
   |          |||          |      |
   |------------------------------|
 3、如果调试服务器使用tcp协议，终端将错误信息，直接上报给调试服务器；addr格式如下：
   |----------|||----------|------|
   | protocol ||| hostname | port |
   |          |||----------|------|
   "   tcp    :// host.com : 8082 |
   |          |||          |      |
   |------------------------------|</pre>
        </li>
        <li><span class="parameter">period</span>
            <span class="types"><span class="type">number</span></span>
         [<em>此参数可选，默认值为：</em> 600000]
        <pre class="example">单位毫秒，定时检查错误信息并上报的间隔</pre>
        </li>
    </ul>

    <h3>Returns:</h3>
    <ul>
        <li>
        <pre class="example">bool result，成功返回true，失败返回nil</pre></il>
    </ul>



    <h3>Usage:</h3>
    <ul>
        <li><pre class="example">errDump.request(<span class="string">"http://www.user_server.com/errdump"</span>)
errDump.request(<span class="string">"udp://www.user_server.com:8081"</span>)
errDump.request(<span class="string">"tcp://www.user_server.com:8082"</span>)
errDump.request(<span class="string">"tcp://www.user_server.com:8082"</span>,<span class="number">6</span>*<span class="number">3600</span>*<span class="number">1000</span>)</pre></il>
    </ul>

</dd>
</dl>


</div> <!-- id="content" -->
</div> <!-- id="main" -->
<div id="about">
<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i>
<i style="float:right;">Last updated 2021-08-02 13:53:19 </i>
</div> <!-- id="about" -->
</div> <!-- id="container" -->
</body>
</html>

